package com.itheima;

import java.util.Scanner;

public class Test01 {
    public static void main(String[] args) {
        //键盘录入一个字符串
        System.out.println("请输入一个字符串");
        // 错误1 : 创建Scanner对象时应该调用带参构造,不能调无参构造
        // 解决方案: Scanner scanner = new Scanner(System.in);
        //Scanner scanner = new Scanner();
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next();        // "hello"
        //判断字符串中第一个字符和最后一个字符是否相等
        char first = str.charAt(0);
        char last = str.charAt(str.length() - 1);

        //错误2: first是char类型,属于基本数据类型,不能调用equals方法的
        //解决方案: if(first != last){}
        //if (first.equals(last)){
        if(first != last){
            //不相等则将字符串反转:
            String newStr = "";
            //错误3: 因为考虑要反转,这里不能正着遍历,要倒着遍历
            //解决方案: 倒着遍历: for(int i = str.length() - 1; i >= 0; i--){
            //for(int i = 0; i < str.length(); i++){
            for(int i = str.length() - 1; i >= 0; i--){
                newStr += str.charAt(i);
            }
            str = newStr;
            //将字符串中字符存入字符数组
            //错误4: 因为要把字符串中所有字符都存入数组,所以数组长度应该和字符串长度一致!
            //解决方案: char[] chs = new char[str.length()];
            //char[] chs = new char[str.length() -1];
            char[] chs = new char[str.length()];

            for (int i = 0; i < str.length(); i++) {   //str  "olleh"
                chs[i] = str.charAt(i);                //chs = {'o','l','l','e','h'}
            }

            //将数组中下标是奇数的字符用'*' 号替换
            for (int i = 0; i < chs.length; i++) {
                if (i %2 != 0){
                    //错误5: 这里是要把i这个奇数索引位置对应的字符替换成'*',不是将i替换
                    //解决方案: chs[i] = '*';
                    //i = '*';
                    chs[i] = '*';
                }
            }

            //遍历输出数组元素
            for (int i = 0; i < chs.length; i++) {
                System.out.println(chs[i]);
            }

        }

    }
}
